System for active reports with drill down capability using memory mapping of HTML files with embedded data

ABSTRACT

A system and method for obtaining information on a large number of files, and to view and take action on those files. The present invention compiles a report on a file system in HTML format that is displayed by a browser. The report allows users to manage their files, or portions of their files, directly from the report, relieving system administrators of this burden. The method comprises: requesting Active Reports to be run; generating a CSV formatted copy of the files in the storage mechanism; converting the CSV formatted copy of the files to an HTML formatted copy of the files; reading the HTML formatted copy of the files so that the user can view the files; loading the file data by mapping the HTML formatted copy of the files to memory into a spreadsheet-like grid; and managing the display of the report and user report requests.

[0001] This application claims priority from U.S. Provisional Application Serial No. 60/287,147, filed Apr. 27, 2001. The entirety of that provisional application is incorporated herein by reference.

NOTICE OF COPYRIGHTED MATERIAL IN DISCLOSURE

[0002] A portion of the disclosure of this patent document may contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND OF THE INVENTION

[0003] 1. Field of the Invention

[0004] The present invention relates generally to generation and distribution of computer system reports, and specifically to reports of storage space usage where the report's display content is controlled by the recipient based on data imbedded in the report.

[0005] 2. Related Art

[0006] Storage CeNTral 4.0 provides HyperText Markup Language (HTML) Reports, limited to a 2000 file display, with a lengthy load time for over 1000 files. Storage CeNTral 4.1 provides HTML Reports, limited to a 5000 file display, with a lengthy load time for over 1000 files. Files can be managed on the reports, but there is no drill down.

[0007] Storage CeNTral 5.0 provides HTML Reports with no limit to file display, and drill down capability.

[0008] Highground SRM provides HTML Reports.

[0009] Quicken provides HTML reports with drill down capability.

[0010] 3. Background of the Technology

[0011] Users often require information on their operating system. For example, users need to know how much storage space they have available on a system, or how they can open up more storage space. Reports are run on systems to generate this information. Due to the complexity of the programs that run the reports, users often need system administrators to both download and run these programs. Once the reports are obtained, the reports can usually only be used to view information on the files stored on the operating system, and cannot be used by the user to directly access the files. This is partially due to the large size of data that must be downloaded to access the files.

[0012] There is thus a need in the current art for a reporting application that is easy to install. In addition, there is a need to be able to access very large numbers of files while using the reporting application. Furthermore, there is a need to take action on the very large number of files the user is accessing, and see this action reflected immediately in the report.

SUMMARY OF THE INVENTION

[0013] The present invention addresses the limitations of the prior art by providing a reporting application that is: self-contained and Web-based; allows a user to access very large number of files; and allows a user to take action on the files and see that action reflected in the report.

[0014] The present invention, referred to in one embodiment as Active Reports, allows a user to obtain information on a large number of files, and to view and take action on those files. The present invention compiles a report on a file system (e.g., Windows NT/NTFS) in HTML format that is displayed by a browser on a machine. In a preferred embodiment of the present invention, the machine is an Intel processor based machine running Windows 98, Windows NT 4, Windows 2000, or Windows XP, and the browser is Microsoft Internet Explorer 5.0 or above. The report can use any file system output (e.g., an MFT Fast Scan). The report comprises grids and graphs, and both can be drilled down into supporting detail. In one embodiment, the report is displayed in a spreadsheet-like grid, with optional graphs displayed to summarize information in the grid. The report allows users to manage their files, or portions of their files, directly from the report, relieving system administrators of this burden. Thus, users can, among other actions, open, edit, explore, run, select, clear, find, delete, copy or move files.

[0015] Active Reports is self-contained and Web-based, and is thus very easy to install and use. A Web server is not required, and the reporting application can be emailed. Alternatively, a user can access a Web site and use the reporting application by clicking on an icon. Once the user clicks on the icon, the program will check to see if the reporting application is installed. If it is not yet installed, it is automatically installed at this time.

[0016] Active Reports also allows a user to access very large numbers of files (e.g., the number of files on the entire system) by managing a grid using memory mapping. Rather than loading the whole grid, only that part of the grid which the user views while scrolling is dynamically loaded. This is important because the user has access to the entire system of files without waiting for a lengthy period of time for the files to download.

[0017] Furthermore, Active Reports allows a user to take action on a very large number of files. The user may access the files, change the files, and see the report modified immediately, as opposed to being required to run the report again to get the updated information.

[0018] The system of the present invention may include one or more of the following: a distributed computer network; workstations; browsers; a storage mechanism; a scan application; and a reporting application, referred to in one embodiment as Active Reports.

[0019] The method of the present invention may include one or more of the following: requesting Active Reports to be run; generating a CSV formatted copy of the files in the storage mechanism; converting the CSV formatted copy of the files to an HTML formatted copy of the files; reading the HTML formatted copy of the files so that the user can view the files; loading the file data by mapping the HTML formatted copy of the files to memory into a spreadsheet-like grid; and managing the display of the report and user report requests. In an alternative embodiment, the present invention can be set up to automatically generate reports.

[0020] The objects of the present invention may include one or more of the following: 1) Providing reports on a file system in HTML format that can be displayed by a browser on any machine; 2) Providing direct navigation from a summary to supporting detail; 3) Allowing users to directly manage their files with, thus relieving system administration of this burden; 4) Providing a format for reporting in HTML format a file system summary and detail information that can be displayed and manipulated from a browser.

[0021] While the invention has been described in terms of a few preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:

[0023]FIG. 1 illustrates the primary components of a representative operating environment for an exemplary embodiment of the present invention.

[0024]FIG. 2 illustrates a method overview of an exemplary embodiment of the present invention.

[0025]FIG. 3 is an exemplary screen shot illustrating a Disk Drive Summary.

[0026]FIGS. 4A and 4B, together comprising FIG. 4, are exemplary screen shots illustrating drill down detail on a particular disk drive.

[0027]FIG. 5 is an exemplary screen shot illustrating drill down detail on the Files Not Modified category, which comprises a list of files in the Files Not Modified category.

[0028] FIGS. 6-9 are exemplary screen shots illustrating drill down detail on, respectively, the Files Not Accessed category, the Files by Size category, the Backup and Archives Files category, and the File Types to Remove category.

[0029]FIG. 10 is an additional exemplary screen shot of the present invention.

DESCRIPTION OF THE INVENTION

[0030] The present invention, referred to as Active Reports in one embodiment, compiles a report on a file system (e.g., Windows NT/NTFS) in HTML format that is displayed by a browser on any machine. The report can use any file system output (e.g., an MFT Fast Scan). The report may comprise grids and graphs, and both can be drilled down into supporting detail. In one embodiment, the report is displayed in a spreadsheet-like grid, with an optional graph displayed to summarize information in the grid. The report allows users to directly manage their files, relieving system administrators of this burden.

[0031] The present invention memory maps a large number of HTML files into the spreadsheet-like grid. The grid used to manage display of the data portion of the HTML files. The HTML files can be managed directly from the report, and the files, or portions of the files, can be opened, edited, explored, run, selected, cleared, found, deleted, copied, moved, etc.

[0032] For example, in one embodiment, if a user wants to increase some of the user's storage space, rather than contacting the system administrator, the user runs a report that shows the files stored on the user's computer. The user initiates the Active Reports application. The user then sees a screen that breaks down the different drive names of the computer. If the user sees that drive L is 92% used, the user drills down for details on drive L. The details on drive L are broken up into many categories, one of which is a category on large files. The user drills down into the large files category, and sees a grid comprising the list of files in the large files category. The user then drills down and opens each of the files in the large files category to see what the file contains, and then deletes the file, if desired.

[0033] In an alternative embodiment, the present invention can be set up to automatically generate reports. For example, if a system is 85% full, the system can automatically run the present invention for all files that fit in the Files Not Used and Large Files categories. The present invention then displays these files to the user and ask the user if they should be deleted.

[0034] System Overview

[0035]FIG. 1 illustrates the primary components of a representative operating environment for an exemplary embodiment of the present invention. An on-line environment 100 comprises: a distributed computer network 105; one or more workstations 106; one or more browsers 107; a storage mechanism 110; a scan application 115; and a reporting application 120.

[0036] The distributed computer network is a network such as the global Internet that facilitates communication between the workstation, the storage mechanism, the scan application, and the reporting application.

[0037] The workstations take input from the users, and allows users to view output from the reporting application.

[0038] The browsers are software on the workstations that let a user view HTML documents and access files and software related to those documents.

[0039] The storage mechanism stores data, and is accessed by the scan application and the reporting application. In one embodiment, the storage mechanism is a database, which is a file composed of records, each containing fields together with a set of operations for searching, sorting, recombining, and other functions.

[0040] The scan application scans the storage mechanism for the data. In one embodiment, the scan application can be an MFT Fast Scan Application Programming Interface (API), which is a set of routines used by an application to direct scanning.

[0041] The reporting application, referred to as an Active Report application in one embodiment, is an application that works on a browser to display file information. Active Reports allows a user to drill down to see detail about a file, take action on a file, or both. The reporting application accesses the scan application and the storage mechanism.

[0042] Method Overview

[0043]FIG. 2 is an overview of the method in an exemplary embodiment of the present invention.

[0044] In step 205, the user requests Active Reports to be run.

[0045] In step 210, the scanning application generates a Comma Separated Value (CSV) formatted copy of the files in the storage mechanism. Active Reports tells the scanning application to scan for all the files in the database. The scanning application scans for all the files, and passes a CSV formatted list of files to Active Reports.

[0046] In step 215, Active Reports converts the CSV formatted copy of the files in the storage mechanism to an HTML formatted copy of files.

[0047] In step 220, the browser reads the HTML formatted copy of files so that the user can view the list of files.

[0048] In step 221, it is determined whether Active Reports is installed on the browser machine. If No, the browser installs Active Reports from the Web site, as shown in step 222. If YES, the process moves to step 225.

[0049] In step 225, Active Reports loads the data by mapping the HTML formatted copy of files to memory. Active Reports reads through the entire copy of files and finds the character position (byte offset) at the start of every line. This character position corresponds to the start of a new file. Active Reports takes the character positions for the start of every file and builds an index of files that indicates where the file starts. Thus, for example, if there were 1632 files in the storage mechanism, Active Reports would indicate that file 1532 starts on character position 8,333,432 and file 1533 starts on character position 8,334,221.

[0050] In step 230, Active Reports manages the display of the report and user report requests. At this point, for example, the user views the report outlining a Disk Drive Summary, and has the ability to drill down into the report to learn more information about the files or to change the information about the files. FIG. 3 is an exemplary screen shot illustrating a Disk Drive Summary.

[0051] Each time the user drills down into the report, a new report request is processed. The Disk Drive Summary of FIG. 3 is an example of a report that the user may use to drill down. Thus, if the user chooses to drill down into the Disk Drive Summary, the user clicks on a disk drive in FIG. 3 to see additional details regarding that disk drive. The user views the different disk drives (e.g., S, L, K, H, C, J, N, G, and all Local Drives), and can choose to view more information on each of the disk drives. If the user chooses to view more information on the L drive, for example, the user will be taken to a screen shot similar to FIG. 4, which includes detailed information on disk drive L.

[0052]FIGS. 4A and 4B, together comprising FIG. 4, are exemplary screen shots illustrating drill down detail on a particular disk drive (e.g., Disk Drive L. FIG. 4A illustrates details of the report using a bar graph and a pie chart graph. The information on the bar graph includes Capacity for files (storage space capacity), Used files (files used), Not Modified files (files not changed in a certain amount of time), Large files (files bigger than a defined size), Not Accessed files (files not accessed in a certain amount of time), and Free files (files still available for storage). The pie chart includes information on Backup and Archived Files (files saved on the backup and archives systems), Email Files (files sent by email), Graphics Files (files including graphics), Media Files (files including audio and/or video information), Office Files (files including office information), Internet files (files including Internet information), Text Files (files comprising text information), Temp Files (temporary files) and Cursor and Icons Files (files that include cursors and icons). FIG. 4B illustrate the categories of the report. The categories comprise, but are not limited to: Used files, Free files, Capacity for files, Files Not Modified; Files Not Used; Large Files; All Files; Backup and Archive Files; Executable Files; Email Files; Graphics Files; Media Files; Office Files; Internet Files File Types to Remove; Backup and Temp Files; Text Files; Temp Files; Cursor and Icons Files. All of this information is related to only the L drive (the disk drive the user has “drilled down” into).

[0053] The user may then choose to drill down into a particular category of files. Thus, for example, the user can drill down into the category of Files Not Modified, and will be shown the list of files in that category. FIG. 5 is an exemplary screen shot illustrating drill down detail on the Files Not Modified category, which comprises a list of files in the Files Not Modified category. FIGS. 6-9 are exemplary screen shots illustrating drill down detail on, respectively, the Files Not Accessed category, the Files by Size category, the Backup and Archives Files category, and the File Types to Remove category. FIGS. 5-9 include information all from the same report on the L disk drive.

[0054] Originally only the first 10 files of the category are pulled and shown on the screen. These files are the only files loaded in memory.

[0055] The user can then scroll up or down within the category to see the other files. When the scroll is moved, Active Reports changes the files that are loaded in memory. Thus, for example, if the user moves the scroll down until files 1532-1542 are shown on the screen, Active Reports checks the index to find out the character position for files 1532-1542, and loads these characters in memory. Using our example above, Active Reports would find that file 1532 has the character position 8,333,432 and would obtain that line of data. Active Reports would look up the character position for the other rows 1533-1542 and obtain those lines of data as well. Active Reports does this as the user is scrolling. Because Active Reports obtains only a piece of the storage mechanism data, as opposed to obtaining the whole data, Active Reports is much faster and more efficient.

[0056] The importance of mapping the data, as opposed to downloading the data, should be noted. The present invention uses a virtual memory mapping system. Virtual memory mapping is when applications access memory through virtual addresses, which are mapped onto physical addresses. When data in a piece of memory is not being used, a virtual memory mapping manager takes that data and writes it out to a page file so the piece of memory is available to store other data. As the user scrolls down the grid, Active File looks up the index and maps (as opposed to downloads) the particular data for the grid the user views.

[0057] Once the user chooses a particular file, the user can take action on that file. FIG. 9 also illustrates some user options for taking action on the files in the File Types to Remove category. These options include Open, Edit, Explore, Run, Select All, Clear All, Find, Delete, Copy To, and Move To options that are typically used with file management. However, the present invention allows the user to immediately take action and see updated status on these files in the report, as opposed to closing the report and getting to the file through another means, or running another report to get updated status.

[0058] While the invention has been described in terms of a few preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims. 

What is claimed is:
 1. A method of reporting storage mechanism usage to a user, comprising: generating an intermediate format copy of files in a storage mechanism; converting the intermediate format copy of the files to a user-readable format copy of the files; mapping the user-readable format copy of the files to memory into a report; and managing the report by using the mapping to load only the files that are requested.
 2. The method of claim 1, wherein managing the report comprises: completing user report requests.
 3. The method of claim 2, wherein completing user report requests further comprises: choosing a drill down function; repeating the managing step to load only the files that are requested.
 4. The method of claim 2, wherein completing user report requests comprises taking action on a file.
 5. The method of claim 4, wherein taking action on the file is one of the group consisting of: deleting, copying, editing, moving, opening, exploring, running, selecting, clearing, finding, or closing.
 6. The method of claim 1, wherein the report comprises a grid.
 7. The method of claim 1, wherein the report comprises a graph.
 8. The method of claim 1, wherein the reporting application is Web-based.
 9. The method of claim 1, wherein the reporting application is self-contained.
 10. The method of claim 1, wherein the reports are automatically generated.
 11. The method of claim 1, wherein the reports are in HTML format and can be displayed by a browser on any machine.
 12. The method of claim 1, wherein the user can directly navigate the report from a summary to supporting detail.
 13. The method of claim 1, wherein users directly manage their files, thus relieving system administration of this burden.
 14. The method of claim 1, wherein the report is displayed and manipulated from a browser.
 15. A system of reporting storage mechanism usage to a user, comprising: a distributed computer network connecting at least one workstation, at least one browser, a storage mechanism, a scan application, and a reporting application; wherein the at least one workstation uses the at least one browser to display information to the user; wherein the storage mechanism stores data; wherein the reporting application accesses the scan application and the storage mechanism; wherein the scan application scans the storage mechanism and generates an intermediate format copy of the files in a storage mechanism; wherein the scan application converts the intermediate format copy of the files to an HTML format copy of the files; wherein the browser reads the HTML format copy of the files so that the user can view the files; wherein the reporting application maps the HTML format copy of the files to memory into a report; and wherein the reporting application manages the report by using the mapping to load only the files that are requested.
 16. The system of claim 15, wherein managing the report comprises: completing user report requests.
 17. The system of claim 16, wherein completing user report requests further comprises: choosing a drill down function; repeating the managing step to load only the files that are requested.
 18. The system of claim 16, wherein completing user report requests comprises taking action on a file.
 19. The system of claim 18, wherein taking action on the file is one of the group consisting of: deleting, copying, editing, moving, opening, exploring, running, selecting, clearing, finding, or closing.
 20. The system of claim 15, wherein the report comprises a grid.
 21. The system of claim 15, wherein the report comprises a graph.
 22. The system of claim 15, wherein the reporting application is Web-based.
 23. The system of claim 15, wherein the reporting application is self-contained.
 24. The system of claim 15, wherein the reports are automatically generated.
 25. The system of claim 15, wherein the reports are in HTML format and can be displayed by a browser on any machine.
 26. The system of claim 15, wherein the user can directly navigate the report from a summary to supporting detail.
 27. The system of claim 15, wherein users directly manage their files, thus relieving system administration of this burden.
 28. The system of claim 15, wherein the report is displayed and manipulated from a browser. 